{
  // 实现栈的功能：
  // push(element)：push是进栈操作，其中element是需要进栈的元素，返回操作成功与否布尔值。
  // pop()：pop移除栈顶元素操作，返回移除的栈顶元素。
  // size(): 获取栈中的栈元素数量，返回一个数字。
  // isEmpty(): 判断栈是否为空，返回一个布尔值。
  // peek(): 返回栈顶元素，但不移除栈顶元素。
  // bottom(): 返回栈底元素。
  // clear(): 清除所有栈元素，返回操作成功与否布尔值。

  class Stack {
    constructor() {
      this.list = [];
    }

    push(el) {
      this.list.push(el);
      return true;
    }

    pop() {
      return this.list.pop();
    }

    size() {
      return this.list.length;
    }

    isEmpty() {
      return this.list.length === 0;
    }

    peek() {
      let idx = this.list.length - 1;
      return this.list[idx];
    }

    bottom() {
      return this.list[0];
    }

    clear() {
      this.list.length = 0;
      return true;
    }
  }
}
